//
//  JHLCoreEntity.h
//  QPJHDemo
//
//  Created by 7pagame on 2019/2/14.
//  Copyright © 2019年 Vanney. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

#define typeof(expression) __typeof__(expression)

@protocol JHLCoreEntityDelegate <NSObject>

@optional
/**
 在有网络后的一些初始化操作
 */
- (void)qpjh_LightAfterNerwork_init;

@required

//聚合渠道:登录回调
- (void)qpjh_LightGetChannelLoginCallBack:(NSDictionary *)result;

//注销, 切换账号回调
- (void)logOutCallBack:(NSString *)result;

//选择区服【停止新增用户】回调: 当result为1可进入该区服,当result为其他值时,SDK里有错误提示.研发不做任何处理.
- (void)canEnterListenCallBack:(NSString *)result;

//聚合渠道:上报角色回调
- (void)getUpdateRoleCallBack:(NSDictionary *)result;

//支付成功回调
- (void)getPaySuccessCallBack:(NSDictionary *)result;

//支付失败回调
- (void)getPayFailCallBack:(NSDictionary *)result;

//支付取消回调
- (void)getPayCancelCallBack:(NSDictionary *)result;

@end

@interface JHLCoreEntity : NSObject <UIApplicationDelegate>

@property id<UIApplicationDelegate> sdkDelegate;

/**
 获取SDK实例
 */
+ (JHLCoreEntity *)sharedInstance;

@property (nonatomic ,weak) id <JHLCoreEntityDelegate> delegate;

/**
 设置监听
 */
- (void)qpjh_setStartLoginListener:(id)loginListener;

/**
登录
*/
- (void)qpjh_lightLoginStart;

/**
 提交角色信息(在 创建角色、 进入游戏、 升级角色 时都要调用该方法.)
 @param roleData json 数据(请按要求传入 json 格式的 NSString 类型)
  */
- (void)qpjh_superRoleUpdate:(NSString *)roleData;

/**
 创建订单接口
 @param orderData json 数据(请按要求传入 json 格式的 NSString 类型)
 */
- (void)qpjh_superOrder:(NSString *)orderData;

/**
 退出登录接口
 */
- (void)qpjh_logout;
/**
 跳转小程序
 */
- (void)qpjh_jump_miniPrograms;
/**
 账号删除接口
 */
- (void)qpjh_logoutForAccountDelete;

/**
 选择区服【停止新增用户】(接口说明: 玩家在选择区服时调用. )
 @param service_id   当前选择的服务器ID
 @param service_name 当前选择的服务器名
 */
- (void)qpjh_canEnterGameWithServiceID:(NSString *)service_id ServiceName:(NSString *)service_name;

@end
